﻿using System;
using System.Collections.Generic;
using SharpSqlAnalyzer.nodes;
using SharpSqlAnalyzer.pp.processor.type.comm;
using SharpSqlAnalyzer.stmt;

namespace SharpSqlAnalyzer.pp.stmtformatter.type.comm
{
	// Token: 0x020001FE RID: 510
	public class AlterTableStmtFormatter : AbstractStmtFormatter
	{
		// Token: 0x060011F3 RID: 4595 RVA: 0x003175EE File Offset: 0x003157EE
		protected internal virtual AlterTableStmtFormatter newInstanceFormatter()
		{
			return new AlterTableStmtFormatter();
		}

		// Token: 0x060011F4 RID: 4596 RVA: 0x003175F8 File Offset: 0x003157F8
		protected internal override void doFormat(TCustomSqlStatement stmtArg)
		{
			TAlterTableStatement talterTableStatement = stmtArg as TAlterTableStatement;
			this.runProcessor<TAlterTableStatement>(this.SpecialProcessors, talterTableStatement);
			TAlterTableOptionList alterTableOptionList = talterTableStatement.AlterTableOptionList;
			this.runProcessor<TAlterTableOptionList>(this.itemListProcessors, alterTableOptionList);
		}

		// Token: 0x060011F5 RID: 4597 RVA: 0x0031762D File Offset: 0x0031582D
		public virtual void addItemListProcessor(AbstractProcessor p)
		{
			if (this.itemListProcessors == null)
			{
				this.itemListProcessors = new List<AbstractProcessor>();
			}
			this.itemListProcessors.Add(p);
		}

		// Token: 0x040013D1 RID: 5073
		private IList<AbstractProcessor> itemListProcessors;
	}
}
